/*
 * AirDomain.java
 * Copyright 2025 Churan Tech, all rights reserved.
 * Churan PROPRIETARY/CONFIDENTIAL, any form of usage is subject to approval.
 */

package com.churan.ai.mcp.server.weather.stdio.vo;

import lombok.Data;

import java.util.List;

/**
 * Function: WeatherApi
 *
 * @author churan
 * @date: 2025年4月23日
 */
@Data
public class AirDomain {

    private Metadata metadata;
    private List<Indexes> indexes;
    private List<Pollutants> pollutants;
    private List<String> stations;

    @Data
    public static class Metadata {
        private String tag;
    }

    @Data
    public static class Color {
        private int red;
        private int green;
        private int blue;
        private int alpha;
    }

    @Data
    public static class PrimaryPollutant {
        private String code;
        private String name;
        private String fullName;
    }

    @Data
    public static class Advice {
        private String generalPopulation;
        private String sensitivePopulation;
    }

    @Data
    public static class Health {
        private String effect;
        private Advice advice;
    }

    @Data
    public static class Indexes {
        private String code;
        private String name;
        private double aqi;
        private String aqiDisplay;
        private String level;
        private String category;
        private Color color;
        private PrimaryPollutant primaryPollutant;
        private Health health;
    }

    @Data
    public static class Concentration {
        private double value;
        private String unit;
    }

    @Data
    public static class SubIndexes {
        private String code;
        private int aqi;
        private String aqiDisplay;
    }

    @Data
    public static class Pollutants {
        private String code;
        private String name;
        private String fullName;
        private Concentration concentration;
        private List<SubIndexes> subIndexes;
    }
}
